package org.edu.modules.system.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.edu.modules.system.entity.VeBaseAppUser;
import org.edu.modules.system.entity.VeBaseUserAccess;

import java.util.List;
import java.util.Map;

public interface VeBaseAppUserMapper extends BaseMapper<VeBaseAppUser> {

    VeBaseAppUser getUserByUserId(String userId);

    VeBaseAppUser getUserByPhone(String phone);

    VeBaseAppUser getUserByName(String userName);

    List<Map<String, Object>> getBaseSysRoleList(String userId, String appId);

    List<Map<String, Object>> getBaseSysMenuList(String userId, String appId, String roleId);

    List<Map<String, Object>> getBaseAppManageList(String userId, String appId, String roleId);

    List<Map<String, Object>> getBaseServiceList(String userId);

    VeBaseAppUser getUserByToken(String token);

    List<Map<String, Object>> getDateSrategyByTime(String times);

    List<Map<String, Object>> getIpSrategyByIp(Long ip);

    List<Map<String, Object>> getLoginSrategyList();

    VeBaseUserAccess getAfterUserAccessModel(String userId);

    List<Map<String, Object>> getUserAccessByUsername(String userId, String dt);

    void addUserAccess(String id, String userId, String username, String password, String ip);

    void addUserAccessUpdateTime(String id, String userId, String username, String password, String ip, String dt);

    List<Map<String, Object>> getSysRoleByUserIdAndAppId(String userId, String appId);

    int addUserAccessSucceed(String userId, String pwd, String userName, String opr, String status, String ip);

    Map getTeacherByUserId(String userId);

    Map getTeacherByGH(String gh);

    Map getStudentByUserId(String userId);

    Map getStudentByXH(String xh);

    //根据工号获取专业组信息
    Map getTeacherDeatilByGH(String gh);

    //根据学号获取年级，班级，专业等信息
    Map getStudentDeatilByXH(String xh);

    List<Map<String, Object>> getVeBaseSysConfig();

    List<Map<String, Object>> queryVeBaseDictionary();

    List<Map<String, Object>> queryVeBaseData();

    Map getAppManageByAppId(String appId);


}
